﻿using System;
using System.ServiceModel;
using CI.WebService;

namespace CI.Mesopotamia.WebService
{
    // NOTE: If you change the interface name "IInbound" here, you must also update the reference to "IInbound" in Web.config.
    [ServiceContract]
    public interface IInbound : IInboundLogs
    {
        [OperationContract]
        string GetPreferredScenario(string hostVersion, int userId);

        [OperationContract]
        int GetNewUserId(string machineName, string hostVersion);

        [OperationContract]
        string[] GetScenarioList(string hostVersion, int userId);

        [OperationContract]
        ScenarioOrganismCollection GetScenarioOrganisms(string scenarioName, int startIndex, int endIndex);

        [OperationContract]
        CI.Mesopotamia.Scenario LoadScenario(string scenarioName, int userId);

        [OperationContract]
        CI.DAL.DALList LoadDal(string scenarioName, int userId, int organismCount,Guid[] organismsToLoad);

        [OperationContract]
        int SaveDal(string scenarioName, CI.DAL.DALList organisms, int userId);

        [OperationContract]
        int Increment(int number);

        

#if !PUBLISHRELEASE
        [OperationContract]
        bool DeleteScenario(string scenarioName, int userId);

        [OperationContract]
        int SaveScenario(CI.Mesopotamia.Scenario scenario, int userId);

        [OperationContract]
        int DiagGetUsersDbCount(int userId);
#endif

    }
}


